package com.micro.school.order.entity;

import lombok.Data;

import java.util.Date;
import java.io.Serializable;

/**
 * 学生收费管理(PayStudentFee)实体类
 *
 * @author makejava
 * @since 2025-08-15 11:29:34
 */
@Data
public class PayStudentFee implements Serializable {
    private static final long serialVersionUID = 543594199467529217L;
/**
     * 主键
     */
    private Integer id;
/**
     * 账单号/订单号（唯一）
     */
    private String billNo;
/**
     * 学生id
     */
    private Integer studentId;
/**
     * 学生姓名
     */
    private String studentName;
/**
     * 身份证号
     */
    private String idNumber;
/**
     * 校区ID
     */
    private Long campusId;
/**
     * 校区名称
     */
    private String campusName;
/**
     * 学院ID
     */
    private Long collegeId;
/**
     * 学院名
     */
    private String collegeName;
/**
     * 模式ID
     */
    private Long modelId;
/**
     * 模式名
     */
    private String modelName;
/**
     * 专业ID
     */
    private Long majorId;
/**
     * 专业名
     */
    private String majorName;
/**
     * 学制
     */
    private String studyPeriod;
/**
     * 年级id
     */
    private Long gradeId;
/**
     * 年级名
     */
    private String gradeName;

    /**
     * 收费学年id
     */
    private Integer feeYearId;
/**
     * 收费学年
     */
    private String feeYear;
/**
     * 应缴金额
     */
    private Double amountPayable;
/**
     * 实缴金额
     */
    private Double amountPaid;
/**
     * 待缴金额
     */
    private Double amountPending;
/**
     * 退款金额
     */
    private Double amountRefunded;
/**
     * 抵扣金额
     */
    private Double amountDeducted;
/**
     * 账单状态: 10未支付,20部分支付,30全额支付,40已作废
     */
    private Integer billStatus;
/**
     * 退款状态: 10未退款,20已退款,30待审核,40审核通过
     */
    private Integer refundStatus;
    /**
     * 抵扣类型/预缴费项目: 来源于与缴费项目表
     */
    private Integer subjectId;
    /**
     * 抵扣类型名/预缴费项目名
     */
    private String projectName;
/**
     * 开启状态(1:开启 2:关闭)
     */
    private String closeStatus;
/**
     * 租户id
     */
    private Integer tenantId;
/**
     * 删除标记0正常 1已删除
     */
    private String deleteFlag;
/**
     * 创建部门
     */
    private Long createDept;
/**
     * 创建者
     */
    private String createBy;
/**
     * 创建时间
     */
    private Date createTime;
/**
     * 更新者
     */
    private String updateBy;
/**
     * 更新时间
     */
    private Date updateTime;
/**
     * 备注
     */
    private String remark;
    /**
     * 作废状态：1未作废，2已作废
     */
    private Integer cancelStatus;

    /**
     * 最近支付时间
     */
    private Date lastPaymentTime;

}

